/**
 * 队列
 */
func Queue() {
    var elems = []
    return {
        // 入队
        enQueue(e) {
            elems.addLast(e)
        },
        // 出队
        deQueue() {
            return elems.removeFirst()
        },
        // 获取队首元素
        front() {
            return elems[0]
        },
        // 获取队尾元素
        tail() {
            return elems[elems.length() - 1]
        },
        // 获取队列中的元素个数
        size() {
            return elems.length()
        },
        // 判断当前队列是否为空
        isEmpty() {
            return elems.isEmpty()
        }
    }
}
